export interface AllocateQuery extends PageQuery {
  keyword?: string;
  source_id?: number;
  visit_status?: number;
  allocate_date_range?: Array<Date>;
}

export type AllocatePageResult = PageResult<AllocateItem[]>;

export interface MemberItem {
  id: number;
  fullname?: string;
  sex?: number;
  source_id?: number;
  source?: Source;
  contact?: Contact;
  remark?: string;
}

import { UserItem } from "@/api/user/types";
/**
 * 我的跟进
 */
export interface AllocateItem {
  id?: number;
  member_id?: number;
  visit_status?: DictType;
  user: UserItem;
  member: MemberItem;
  create_time?: Date;
  update_time?: Date;
}

import { RegionVo } from "@/api/system/region/types";
export interface CreateForm {
  fullname?: string;
  sex?: number;
  mobile?: string;
  wechat?: string;
  telephone?: string;
  source_id: number;
  zone_id?: number;
  zone: RegionVo[];
  event_date?: string;
  table_amount?: string;
  budget?: string;
  remark: string;
}

export type CreateResult = ResposeResult<any>;

export interface VisitItem {
  id: number;
  member_id: number;
  status: number;
  status_title: string;
  remark: string;
  create_time?: Date;
  update_time?: Date;
}

export interface BanquetItem {
  id?: number;
  zone_id?: number;
  member_id?: number;
  event_date?: string;
  table_amount?: number;
  budget?: number;
  zone?: RegionVo[];
  create_time?: Date;
  update_time?: Date;
}

export interface AllocateDetailResult {
  customer: MemberItem;
  contacts: Contact[];
  visits: VisitItem[];
  banquet: BanquetItem[];
}

export interface DashboardCustomer {
  total: number;
  unfollow: number;
  valid: number;
  unconnect: number;
}
